package cn.ld.exception.ass;

import cn.ld.exception.code.ErrorCode;
import cn.ld.exception.exception.BusinessException;
import org.apache.commons.lang3.StringUtils;

import java.util.List;

public class LdAssert {

    /**
     * 支持错误码
     * @param str
     * @param code
     */
    public static void isBlank(String str, ErrorCode code){

        if (!StringUtils.isBlank(str)) {
            throw new BusinessException(code.getMessage(), code.getCode());
        }
    }


    /**
     * 断言为不为blank,为blank就报错
     * @param str
     * @param message
     */
    public static void isNotBlank(String str,String  message){
        if (StringUtils.isBlank(str)) {
            throw new BusinessException(message);
        }
    }


    /**
     * 断言不为null
     * @param objects
     * @param message
     */
    public static void isNotEmpty(List<?> objects, String  message){
        if (objects==null || objects.size()<1) {
            throw new BusinessException(message);
        }
    }

    /**
     * 断言为null
     * @param objects
     * @param message
     */
    public static void isEmpty(List<?> objects, String  message){
        if (objects!=null || objects.size()>0) {
            throw new BusinessException(message);
        }
    }

    /**
     * 断言为null
     * @param objects
     * @param errorCode
     */
    public static void isEmpty(List<?> objects, ErrorCode errorCode){
        if (objects!=null || objects.size()>0) {
            throw new BusinessException(errorCode.getMessage(), errorCode.getCode());
        }
    }

//    /**
//     * 断言为为空，不为空就抛出异常
//     *
//     * @param str
//     * @param errorCode
//     */
//    public static void isBlank(String str, ErrorCode errorCode){
//        if (!StringUtils.isBlank(str)){
//            throw new BusinessException(errorCode.getMessage(),errorCode.getCode());
//        }
//    }
//
//    /**
//     * 断言不为空，为空就抛出异常
//     *
//     * @param str
//     * @param errorCode
//     */
//    public static void isNotBlank(String str, ErrorCode errorCode){
//        if (StringUtils.isBlank(str)){
//            throw new BusinessException(errorCode.getMessage(),errorCode.getCode());
//        }
//    }
//
//    //断言为空，不为空就报错
//    public static void isEmpty(List<?> list,ErrorCode errorCode){
//        if (list!=null || list.size()>0){
//            throw new BusinessException(errorCode.getMessage(),errorCode.getCode());
//        }
//    }
//
//    //断言不为空，为空就报错
//    public static void isNotEmpty(List<?> list,ErrorCode errorCode){
//        if (list==null || list.size()<1){
//            throw new BusinessException(errorCode.getMessage(),errorCode.getCode());
//        }
//    }
}
